package com.dzl.integral.service;

import com.dzl.integral.pojo.WelfareIntegralGrant;
import com.dzl.base.service.BaseService;
import com.dzl.integral.pojo.dto.WelfareIntegralGrantDto;
import com.dzl.integral.pojo.query.WelfareIntegralGrantQuery;
import com.dzl.integral.pojo.vo.WelfareIntegralGrantVo;

import java.math.BigDecimal;
import java.util.List;

/**
 * 积分分发记录表(WelfareIntegralGrant)表服务接口
 *
 * @author caobucao
 * @date 2021-09-07 10:39:30
 */
public interface WelfareIntegralGrantService extends BaseService<WelfareIntegralGrant> {

    /**
     * 分页查询分发积分数据
     * @date 2021/9/7 11:02
     * @author caobucao
     * @param query 查询条件
     * @return java.util.List<com.dzl.integral.pojo.vo.WelfareIntegralGrantVo>
     */
    List<WelfareIntegralGrantVo> getIntegralGrantPage(WelfareIntegralGrantQuery query);

    /**
     * 积分分发
     * @date 2021/9/7 15:48
     * @author caobucao
     * @param dto 积分分发传输类
     * @return java.lang.Integer
     */
    Integer saveIntegralGrant(WelfareIntegralGrantDto dto);

    /**
     * 定时将分发的积分按分发到账时间更改为已到账
     * @date 2021/9/9 9:54
     * @author caobucao
     * @param
     * @return java.lang.Integer
     */
    Integer updateIntegralGrantState();

    /**
     * 定时过期积分
     * @date 2021/9/9 16:38
     * @author caobucao
     * @param
     * @return java.lang.Integer
     */
    Integer updateIntegralExpiredState();

    /**
     * 积分终止发放
     * @date 2021/9/14 10:14
     * @author caobucao
     * @param welfareIntegralGrant 终止发放的积分对象
     * @return java.lang.Integer
     */
    BigDecimal updateGrantToStop(WelfareIntegralGrant welfareIntegralGrant);
}
